home *** CD-ROM | disk | FTP | other *** search
- ************************************************************
- *
- * FOURTH-ORDER IIR
- * ELLIPTIC LOWPASS FILTER
- *
- * PARALLEL STRUCTURE
- *
- * FILTER CHARACTERISTICS
- *
- * SAMPLING FREQUENCY = 10 KHZ
- *
- * BAND 1 BAND 2
- *
- * LOWER BAND EDGE 0.00000 2.75000
- * UPPER BAND EDGE 2.50000 5.00000
- * NOMINAL GAIN 1.00000 0.00000
- * NOMINAL RIPPLE 0.06000 0.06000
- * MAXIMUM RIPPLE 0.05617 0.05514
- * RIPPLE IN DB 0.47469 -25.17089
- *
- *
- * FILTER STRUCTURE
- *
- * C
- * +----------------->-----------------+
- * | |
- * ^ g p (n) v
- * | 01 1 |
- * o--->---o--->---o---->----o---->----o--->---o--->---o
- * x(n) | | | -1 | | y(n)
- * | ^ a v z g ^ |
- * | | 11 | 11 | |
- * | o----<----o---->----o |
- * | | | -1 |
- * | ^ a v z |
- * v | 21 | ^
- * | o----<----o |
- * | |
- * | |
- * | g p (n) |
- * | 02 2 |
- * +--->---o---->----o---->----o--->---+
- * | | -1 |
- * ^ a v z g ^
- * | 12 | 12 |
- * o----<----o---->----o
- * | | -1
- * ^ a v z
- * | 22 |
- * o----<----o
- *
- *
- ************************************************************
- *
- * CYCLES | EXECUTION TIME | PROGRAM MEMORY | DATA MEMORY
- * | (MICROSECONDS) | (WORDS) | (WORDS)
- * -------|----------------|----------------|------------
- * | | |
- * 28 | 5.6 | 28 | 18
- * | | |
- * ------------------------------------------------------
- *
- * (EXCLUDING I/O AND INITIALIZATION)
- *
- ************************************************************
- *
- *
- IDT 'IIR4PAR'
- D2N EQU 0
- D2NM1 EQU 1
- D2NM2 EQU 2
- D1N EQU 3
- D1NM1 EQU 4
- D1NM2 EQU 5
- *
- G01 EQU 6
- G11 EQU 7
- *
- A11 EQU 8
- A21 EQU 9
- *
- G02 EQU 10
- G12 EQU 11
- *
- A12 EQU 12
- A22 EQU 13
- *
- C EQU 14
- *
- MODE EQU 15
- CLOCK EQU 16
- YN EQU 17
- XN EQU 18
- ONE EQU 19
- P1 EQU 20
- *
- AORG 0
- *
- B START
- *
- * COEFFICIENTS ARE INITIALLY *
- * STORED IN PROGRAM MEMORY *
- *
- *
- CG01 DATA >C750 * -0.4428446 *
- CG11 DATA >5F2C * 0.7435591 *
- *
- CA11 DATA >394D * 0.447687 *
- CA21 DATA >D889 * 0.308310 *
- *
- CG02 DATA >F721 * -0.0693031 *
- CG12 DATA >EFAE * -0.1274959 *
- *
- CA12 DATA >FEF7 * -0.008080 *
- CA22 DATA >90EE * -0.867723 *
- *
- CC DATA >5988 * 0.699476 *
- *
- MD DATA >000A
- SMP DATA >01F3 * SAMPLING RATE OF 10 KHZ *
- *
- START LDPK 0
- *
- LACK 1
- SACL ONE * CONTENT OF ONE IS 1 *
- *
- LARK AR0,CLOCK * THIS SECTION OF CODE LOADS *
- LARK AR1,10 * THE FILTER COEFFICIENTS AND *
- LACK SMP * OTHER VALUES FROM PROGRAM *
- LOAD LARP AR0 * MEMORY TO DATA MEMORY *
- TBLR *-,AR1
- SUB ONE
- BANZ LOAD
- *
- ZAC * THIS SECTION SETS THE *
- SACL D2N * INITIAL STATE OF THE *
- SACL D2NM1 * FILTER TO ZERO *
- SACL D2NM2
- SACL D1N
- SACL D1NM1
- SACL D1NM2
- *
- OUT MODE,PA0 * INITIALIZATION OF ANALOG *
- OUT CLOCK,PA1 * INTERFACE BOARD *
- *
- WAIT BIOZ NXTPT * BIO PIN GOES LOW WHEN A *
- B WAIT * NEW SAMPLE IS AVAILABLE *
- *
- NXTPT IN XN,PA2 * BRING IN THE NEW SAMPLE XN *
- *
- LAC XN,15 * START FIRST PARALLEL SECTION *
- *
- LT D1NM2
- MPY A21 * d (n-2) * a *
- * 1 21
- LTD D1NM1
- MPY A11
- *
- APAC
- *
- SACH D1N,1
- *
- ZAC
- *
- MPY G11
- *
- LTD D1N
- MPY G01
- *
- APAC
- *
- SACH P1,1 * FINISHED FIRST PARALLEL SECTION *
- *
- LAC XN,15 * START SECOND PARALLEL SECTION *
- *
- LT D2NM2
- MPY A22 * d (n-2) * a *
- * 2 22
- LTD D2NM1
- MPY A12
- *
- APAC
- *
- SACH D2N,1
- *
- LAC P1,15
- *
- MPY G12
- *
- LTD D2N
- MPY G02
- *
- LTA C
- MPY XN
- *
- APAC
- *
- SACH YN,1 * FINISHED SECOND PARALLEL SECTION *
- * * AND FINISHED FILTER *
- *
- OUT YN,PA2 * OUTPUT THE FILTER RESPONSE y(n) *
- *
- B WAIT * GO GET THE NEXT POINT *
- *
- END